package com.zzq.my.jetpacks.jectpackapp.bean

/**
 * 描述：class describe
 * 作者：zhuangzeqin
 * 时间: 2022/11/8-9:53
 * 邮箱：zzq@eeepay.cn
 * 备注:
 */
data class User(var name: String = "", var age: Int = 0)

/**
 * 创建一个user
 */
fun createUser(item: User.() -> Unit): User {
    return User().apply(item)
}

/**
 * 在kotlin中一个内联函数（inline）可以被具体化（reified），这意味着我们可以得到使用泛型类型的Class。
 * reified关键字是用于Kotlin内联函数的,修饰内联函数的泛型,泛型被修饰后,在方法体里,能从泛型拿到泛型的Class对象,这与java是不同的,java需要泛型且需要泛型的Class类型时,是要把Class传过来的,但是kotlin不用了,
 */
inline fun <reified T : Any> addDsl(block: MutableList<T>.() -> Unit): MutableList<T> {
    return mutableListOf<T>().apply(block)
}





